Dynamically determining real-time offers

ABSTRACT

Disclosed are systems and techniques for dynamically providing real-time offers. For instance, user eligibility for one or more offers can be determined based on a plurality of dynamic user attributes associated with the user and one or more data sets corresponding to similarly situated users. An input can be received corresponding to an acceptance by the user of at least one offer selected from the one or more offers. In response to receiving the input, an updated plurality of the dynamic user attributes can be retrieved, wherein the dynamic user attributes are constantly updated in real time based on user activity. Based on the updated plurality of dynamic user attributes and the one or more data sets corresponding to the similarly situated user, it can be determined whether the user remains eligible for the at least one offer. An offer confirmation can be sent upon confirming eligibility.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 17/139,435 filed Dec. 31, 2020, which claims priority to U.S.Provisional Application 62/955,737 filed on Dec. 31, 2019, all of whichare incorporated herein by reference in their entireties.

FIELD

The present disclosure relates generally to credit transactions. In oneexample, the systems and methods described herein may be used todynamically determine real-time offers.

BACKGROUND

Presently, companies and financial institutions present loan offers toconsumers that are based on consumer credit reports with little, if any,data relating to previous transactions by the consumer. This procedureis highly formulated and fails to provide many personalized options onhow to proceed by the consumer. The consumer is typically presented witha “take it or leave it” offer without any consideration of pastinformation and selections by the consumer. Moreover, a consumer'seligibility for a loan offer can change quickly and such changes instatus may not be considered by conventional methods. In addition,consumers that have not established their credit history are typicallynot eligible for loan offers.

There is, therefore, a need in the art for improved systems and methodsthat are capable of providing customized real-time offers that can bebased on user attribute data and that can be repeatedly updated inreal-time. Unlike previous systems that are solely based on credit scorereports and loan amounts, the present techniques can provideindividually tailored offers in real time and avoid risk due to changingconditions.

SUMMARY

The following presents a simplified summary relating to one or moreaspects disclosed herein. Thus, the following summary should not beconsidered an extensive overview relating to all contemplated aspects,nor should the following summary be considered to identify key orcritical elements relating to all contemplated aspects or to delineatethe scope associated with any particular aspect. Accordingly, thefollowing summary has the sole purpose to present certain conceptsrelating to one or more aspects relating to the mechanisms disclosedherein in a simplified form to precede the detailed descriptionpresented below.

Disclosed are systems, methods, apparatuses, and computer-readable mediafor determining real-time offers. According to at least one example, acomputer-implemented method is provided. The computer-implemented methodcomprises determining eligibility for one or more offers for a userbased on a plurality of dynamic user attributes associated with the userand one or more data sets corresponding to similarly situated users. Themethod further comprises receiving an input corresponding to anacceptance by the user of at least one offer selected from the one ormore offers. The method further comprises in response to receiving theinput, retrieving an updated plurality of the dynamic user attributesassociated with the user, wherein the dynamic user attributes areconstantly updated in real time based on user activity. The methodfurther comprises determining, based on the updated plurality of thedynamic user attributes and the one or more data sets corresponding tothe similarly situated users, whether the user remains eligible for theat least one offer. The method further comprises in response todetermining that the user remains eligible for the at least one offer,sending an offer confirmation.

According to some embodiments, a system is provided. The systemcomprises one or more processors and memory storing thereon instructionsthat, as a result of being executed by the one or more processors, causethe system to perform the steps of the above method.

According to some embodiments, a non-transitory, computer-readablestorage medium is provided. The non-transitory, computer-readablestorage medium stores thereon executable instructions that, as a resultof being executed by one or more processors of a computer system, causethe computer system to perform operations including the steps of theabove method.

This summary is not intended to identify key or essential features ofthe claimed subject matter, nor is it intended to be used in isolationto determine the scope of the claimed subject matter. The subject mattershould be understood by reference to appropriate portions of the entirespecification of this patent application, any or all drawings, and eachclaim.

The foregoing, together with other features and examples, will bedescribed in more detail below in the following specification, claims,and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a topology of a loan transactionsystem, in accordance with some examples.

FIG. 2 illustrates an example of a flowchart of a high level functionalarchitecture, in accordance with some examples.

FIG. 3 illustrates an example of a flowchart of a loan offer engine, inaccordance with some examples.

FIG. 4 illustrates an example of a flowchart of a machine learning dataflow, in accordance with some examples.

FIG. 5 illustrates an example of a flowchart of preparing a loan offer,in accordance with some examples.

FIG. 6 illustrates an example of flowchart of preparing a real-timeoffer, in accordance with some examples.

FIGS. 7A-7C illustrate an example of registering a user account, inaccordance with some examples.

FIGS. 8A and 8B illustrate an example of adding a bank account, inaccordance with some examples.

FIG. 9 illustrates an example of applying to the loan transaction systemof FIG. 1 , in accordance with some examples.

FIG. 10 illustrates an example of a real-time offer process, inaccordance with some examples.

FIG. 11 illustrates an example of sharing information between a webbrowser and an application, in accordance with some examples.

FIG. 12 illustrates another example of an offer process, in accordancewith some examples.

FIG. 13 illustrates an example of an offer acknowledgement, inaccordance with some examples.

FIG. 14 illustrates an example of a digital online credit card, inaccordance with some examples.

FIGS. 15A and 15B illustrate an example of a offer management process,in accordance with some examples.

FIG. 16 illustrates an example of a offer management process including afailed payment, in accordance with some examples.

FIG. 17 illustrates an example of a payment process, in accordance withsome examples.

FIG. 18 illustrates an example of an account management process, inaccordance with some examples.

FIG. 19 illustrates an example of events provided by the loantransaction system of FIG. 1 , in accordance with some examples.

FIG. 20 illustrates an example of rewards provided by the offertransaction system of FIG. 1 , in accordance with some examples.

FIG. 21 illustrates an example of returns and digital rewards providedby the offer transaction system of FIG. 1 , in accordance with someexamples.

FIG. 22 illustrates a computing system architecture in accordance withsome examples.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, specificdetails are set forth in order to provide a thorough understanding ofcertain inventive embodiments. However, it will be apparent that variousembodiments may be practiced without these specific details. The figuresand description are not intended to be restrictive. The word “exemplary”is used herein to mean “serving as an example, instance, orillustration.” Any embodiment or design described herein as “exemplary”is not necessarily to be construed as preferred or advantageous overother embodiments or designs.

The disclosed technologies address a need in the art for improvements infinancial institutions including providing tailored offers in real-time.Artificial intelligence and machine learning algorithms can be used todynamically determine whether users are eligible for offers having aparticular set of parameters and can also determine whether users arelikely to accept an offer, reject an offer, and/or repay an offer. Themachine learning algorithms can determine real-time offers based on userattributes that are constantly updated as well as data sets associatedwith similarly situated users. A feedback mechanism can be implementedsuch that the machine learning algorithm continues to learn based oneach user interaction.

FIG. 1 illustrates an example of system 100 for dynamically determiningand utilizing real-time offers, in accordance with some examples. Insome embodiments, the system 100 can include a real-time offers platform102 that can be configured to dynamically process data in order toformulate offers (e.g., credit offers, loan offers, purchase incentiveoffers, etc.) for customers. The real-time offers platform 102 can beimplemented on a computer system or other system (e.g., server, virtualmachine instance, etc.). Alternatively, the real-time offers platform102 may be implemented as an application or other process executed on acomputer system of a credit provider. The system 100 can also includeone or more devices that are configured to execute a user applicationfor real time offers (e.g., device 104) as well as user accounts data106 and payment processing module 108.

In some examples, real-time offers platform 102 can communicate withdevice 104 in order to send and receive data relating to real-timeoffers that are presented to a user of device 104. The real-time offersapplication can be implemented as an internet application, a webapplication, a mobile application, or any other application suitable forthe intended purpose. The real-time offers application can be configuredto interface with other applications on the device or on differentdevices that are associated with device 104. For example, real-timeoffers application can be configured to interface with applications suchas FaceBook™, WhatsApp™, Google Home™, etc. Device 104 can include anytype of electronic device such as a laptop, mobile phone, tablet,Internet-of-Things (IoT) device, desktop computer, server, point-of-sale(POS) device, etc.

In further examples, device 104 may also be configured to facilitateelectronic payment by using, for example, a digital card, an electronicpayment application, or any other software and/or hardware configurationfor processing an electronic payment. Device 104 may communicate withpayment processing module 108 to apply or process payments relating toone or more real-time offers. Payment processing module 108 can furthercommunicate with real-time offers platform 102 to assist in processingpayments and/or to send and receive data relating to payments received,payment due dates, past-due payments, etc.

Real-time offers platform 102 can further access and/or communicate withone or more databases that include data relating to users associatedwith the real-time offers application. For example, real-time offersplatform 102 can access user accounts data 106 which can includeinformation relating to users including bank account information,digital wallet information (e.g., Venmo™, ApplePay™, Google Pay™,Paypal™, etc.), or any other account information relating to the user.In some examples, real-time offers platform 102 can access user accountsdata 106 from third-party service providers based on a federationbetween real-time offers platform 102 and the third-party provider inwhich real-time offers platform 102 performs authentication of the userand then communicates with the third-party provider to confirm theauthentication. In other examples, the user may provide some form ofpersonally identifiable information (PII) such as a social securitynumber, date of birth, address, telephone number, email address, PIN,etc. that the real-time offers platform 102 can use to authenticate withand retrieve information from third-party providers.

Real-time offers platform 102 can utilize a machine learning model orartificial intelligence (AI) techniques to determine, derive, formulate,evaluate, or otherwise process real-time offers. In some examples, themachine learning techniques can include supervised machine learningtechniques such as neural networks, linear and logistics regression,classification trees, support vector machine, any other suitablesupervised machine learning technique, or any combination thereof. Forinstance, a dataset of sample user accounts data and correspondingreal-time offers or rejections can be selected for training of themachine learning algorithms or artificial intelligence. In someexamples, the inputs can be obtained from administrators or otherentities associated with the real-time offers platform 102. The machinelearning algorithm or artificial intelligence may be evaluated todetermine, based on the sample inputs supplied to the machine learningalgorithms or artificial intelligence, whether the machine learningalgorithms or artificial intelligence are providing accurate and/orappropriate real-time offers or other determinations (e.g., rejections,etc.) for each sample user. Based on this evaluation, the machinelearning algorithms or artificial intelligence may be modified (e.g.,one or more parameters or variables may be updated) to improve theaccuracy of the machine learning algorithms or artificial intelligencein determining an appropriate determination (e.g., real-time offer,rejection, etc.) for a user based on the provided inputs for the user.

In other examples, the real-time offers platform 102 can utilize amachine learning model or artificial intelligence trained usingunsupervised learning techniques to determine whether to extend areal-time offer to a user and, if so, the parameters of the real-timeoffer (e.g., spending limits, interest rates, term, etc.). For instance,a dataset of input user information for various users (e.g., useraccounts data 106 for each user, other spending or loan/creditinformation for each user, etc.) may be analyzed using a clusteringalgorithm to identify real-time offer parameters and determinations forcertain types of users. Example clustering algorithms that may betrained using this dataset maintained by the real-time offers platform102 to determine a user's eligibility for a real-time offer and theparameters of such an offer may include k-means clustering algorithms,fuzzy c-means (FCM) algorithms, expectation-maximization (EM)algorithms, hierarchical clustering algorithms, density-based spatialclustering of applications with noise (DBSCAN) algorithms, and the like.Based on the output of the machine learning model or artificialintelligence, the real-time offers platform 102 may determine whether toextend a real-time offer to a user and, if so, the parameters of thereal-time offer (e.g., credit limits, interest rates, etc.).

In one embodiment, the real-time offers application on device 104 canprovide data relating to the user to the real-time offers platform 102that can be used as inputs to a machine learning model or artificialintelligence algorithm that is configured to develop real-time offers.For instance, real-time offers platform 102 can receive inputs from thereal-time offers application relating to a user's preferences fordifferent goods, vendors, stores, restaurants, activities, locations,etc. Device 104 can obtain this information based on a user'sinteraction with device applications, web surfing history, social media,geolocation, etc. In one example, a user may grant real-time offersapplication access to device location information (e.g., GPScoordinates) which can be used to track places the user visits tofurther derive user preferences. In another example, real-time offersplatform 102 can access user bank statements (e.g., Venmo™, Paypal™,Bank of America™, etc.) and analyze a user's spending habits todetermine user preferences. In other examples, the real-time offersapplication can provide a user interface that permits a user to enterpreferences. For instance, a user may specify that he/she would onlylike to receive offers relating to travel or that the user does not wantto receive any offers relating to dining.

Real-time offers platform 102 may use this information, together withany available information from user account data 106 or any otherdatabase relating to the user as well as similarly-situated users, asinput to a machine learning model or artificial intelligence toformulate an offer for credit or a loan. For example, real-time offersplatform 102 may receive information relating to a user browsing forhotels in a particular city and determine that the user may beinterested in an offer for plane tickets to that city. Real-time offersplatform 102 may then utilize the machine learning model or artificialintelligence to formulate an offer for purchase of the plane ticketswith particular re-payment terms that are uniquely derived using machinelearning or artificial intelligence based on the user's profile as wellas data relating to similarly situated users.

Upon formulating one or more customized offers for the user, real-timeoffer engine can send the offers to device 104 via the real-time offersapplication. The user can be presented with one or more offers and canaccept or reject them. If the user wishes to accept an offer, thereal-time offers application can send a signal or instruction toreal-time offers platform 102 that communicates the user's acceptance.In some examples, the real-time offers platform 102 can determinewhether the user remains eligible for the offer by retrieving updateddata associated with the user and utilizing machine learning orartificial intelligence algorithms to evaluate and/or predict the user'sbehavior with respect to the offer (e.g., likelihood of accepting theoffer, likelihood of making first payment, likelihood of repayment atdifferent intervals, etc.).

In some implementations, real-time offers platform 102 can send offersto device 104 that include temporal thresholds. For example, an offermay be provided to a user that must be accepted within a pre-determinedperiod of time or it will expire. Once the offer has expired, the usermay be unable to review and/or accept the offer. For instance, thereal-time offers platform 102 may remove the offer from the real-timeoffers application such that the offer is no longer viewable via thedevice 104. In another example, acceptance of an offer after a setamount of time can trigger re-evaluation of the user's eligibility forthe offer. If the user is no longer eligible for the offer, thereal-time offers platform 102 may transmit a notification to thereal-time offers application to indicate that the offer is no longervalid for the user. Alternatively, if the user is no longer eligible forthe offer, the real-time offers platform 102 may use the user's updateduser account data to determine whether the user is eligible for a newreal-time offer. If so, the real-time offers platform 102, via thereal-time offers application, may present this new real-time offer tothe user in place of the previously presented real-time offer. In someinstances, a user may remain eligible for an offer with updated termsand conditions. Further details with respect to the real-time offersplatform 102 will be provided in connection with ensuing figures.

FIG. 2 illustrates an example of a functional architecture of system 200for dynamically determining and utilizing real-time offers. System 200can include real-time offers platform 202 which can be configured todynamically process data in order to formulate and process real-timeoffers. In some examples, real-time offers platform 202 can includeartificial intelligence or machine learning models 204. As noted withrespect to FIG. 1 , machine learning models 204 can be configured toimplement algorithms for performing supervised and unsupervised machinelearning.

In formulating real-time offers, real-time offers platform 202 can beconfigured to communicate over network 206 with a device that isconfigured to execute real-time offers application 208. The device thatexecutes real-time offers application 208 can include any type ofelectronic device such as a laptop, mobile phone, tablet,Internet-of-Things (IoT) device, desktop computer, server, etc. As partof the communication with a device executing real-time offersapplication 208, real-time offers platform 202 can be configured toidentify and authenticate a user and/or a device that is associated withreal-time offers application 208. Authentication of a device or user canbe performed based on a password, biometric scanning, certificate,token, multi-factor authentication, any other suitable authenticationmethod, or any combination thereof. For instance, a user, via thereal-time offers application 208, may register for an account with thereal-time offers platform 202. During this registration process, theuser may create a username and create or otherwise provide credentialinformation (e.g., password(s), biometric information, etc.) that may beused by the real-time offers platform 202 for authentication of theuser. In some examples, the real-time offers platform 202 mayautomatically generate or coordinate with the user for the creation ofcredential information, such as tokens, digital certificates, and thelike.

In order to formulate real-time offers, real-time offers platform 202can store and/or otherwise access user data 226. In some examples, userdata 226 can be encrypted data and real-time offers platform 202 can beconfigured to decrypt the data. For example, an encrypted data model canbe where user data 226 is stored as encrypted blobs or blocks usingsymmetric or asymmetric cryptographic methods. User data 226 can includeuser attributes that are directly and uniquely associated withindividual users, such as name, age, location, bank account data (e.g.,institutions, types, balance, transactions, account number(s), routingnumber(s), etc.), education, employment, occupation, income,demographics, digital wallet(s), credit score(s), loan/credit history(e.g., open loans/credit, loans paid off, late payments, defaults,etc.), browsing history, spending patterns, user preferences, dislikes,etc.

In some examples, one or more of the user attributes stored as part ofuser data 226 are constantly updated in real-time based on useractivity. For example, a user's bank account balance can be updated inreal-time when a user makes a deposit or a withdrawal. In anotherexample, user preferences can be updated and/or derived in real-timebased on a user's activity, which can include interaction withapplications on a user device (e.g., internet browsing, digital wallet,shopping, dining, etc.) as well as offline activity. For instance, auser's bank records can include debit card purchases made at differentvendors which can be used to derive a user preference for particulartypes of vendors and/or particular types of goods.

In some implementations, real-time offers platform 202 can obtain userdata 226 in real time by utilizing federated identities. For instance,real-time offers platform 202 can utilize a token or some otherauthentication mechanism that can be used to access one or morethird-party systems. In another example, real-time offers platform 202can utilize single sign-on technology to obtain user authentication thatcan be used to access third-party service providers. For example, a usermay sign-in or authenticate with real-time offers platform 202, whichcan then utilize the user's credentials to access banking applications,credit cards, digital wallets, etc. In other implementations, real-timeoffers platform 202 may obtain user data 226 in real time by utilizing aservice such as 3^(rd) party identity services 236 or 3^(rd) party bankaccount integrations 238, discussed further below.

In some examples, user data 226 can also include one or more data setscorresponding to user attributes that are compiled from one or moregroups of other users (e.g., other credit recipients). In someimplementations, data sets corresponding to other users can be based onhistorical user data and determinations made by a credit provider. Inother implementations, data sets corresponding to other users caninclude contemporaneous data obtained from other users that interactwith real-time offers platform 202. In some aspects, the data sets canalso include default data such as default interest rates, default term,default credit limits, etc. that can be associated with one or more userattributes. In some examples, machine learning models 204 can be used toderive sets of similarly situated users from the other user data sets,which can then be correlated with individual data to derive real-timecustomized offers for users.

For example, machine learning models 204 may be trained usingunsupervised learning techniques. For instance, a dataset of trainingdata 228 (including one or more data sets of user attributescorresponding to other users) can be derived from user data 226 and maybe analyzed using a clustering algorithm to identify the types of usersand related user attributes (e.g., clusters) that are likely to acceptan offer with a particular set of parameters. In some embodiments,training data 228 can also include one or more rules that are part ofpolicy management 218, as described further below. In another example,training data 228 can be analyzed by the machine learning algorithm toidentify users and related user attributes that are likely to complywith the terms of an offer, such as making on time repayment. In anotherexample, training data 228 may be analyzed using a clustering algorithmto identify the types of offers that users with one or more userattributes are not likely to accept. In another example, training data228 may be analyzed using a clustering algorithm to determine whether anoffer should be extended to a particular user based on one or more userattributes. Example clustering algorithms that may be trained usingtraining data 228 can include k-means clustering algorithms, fuzzyc-means (FCM) algorithms, expectation-maximization (EM) algorithms,hierarchical clustering algorithms, density-based spatial clustering ofapplications with noise (DBSCAN) algorithms, and the like. Based on theoutput of the machine learning models 204, real-time offers platform 202may determine whether to extend an offer to a user via real-time offersapplication 208. Further, the response from the user of real-time offersapplication 208 can be used to further train machine learning models204.

In other examples, machine learning models 204 may be trained usingsupervised learning techniques. For instance, training data 228 mayinclude selected data sets of user attributes and correspondingreal-time offers for training of the machine learning models 204 orartificial intelligence algorithms. In some examples, the inputs can beobtained from administrators of real-time offers platform 202 (asillustrated and described below in connection with FIG. 4 ) or othersources associated with real-time offers platform 202. The inputs caninclude rules associated with policy management 218 that can trainmachine learning models to enforce individual lender policies. Themachine learning models 204 or artificial intelligence may be evaluatedto determine, based on the training data 228 supplied to machinelearning models 204 or artificial intelligence, whether the machinelearning models 204 are providing accurate offers for each user. Basedon this evaluation, the machine learning models 204 may be modified(e.g., one or more parameters or variables may be updated) to improvethe accuracy of the machine learning algorithms or artificialintelligence in determining an appropriate offer for a user or a userprofile (e.g., user with certain set of attributes) based on theprovided inputs.

In some aspects, system 200 can also include one or more Internet ofThings (IoT) devices 210 such as Google Home™, Alexa™, Apple HomePod™,or any other IoT. The IoTs 210 can communicate with real-time offersplatform 202 and with real-time offers application 208 via network 206.In some examples, system 200 may include a chat service 212 that can beused to provide communication between real-time offers platform 202 andIoTs 210 and/or real-time offers application 208. For instance, chatservice 212 can be configured to send and receive data relating toreal-time offers to a user of real-time offers application 208. In someimplementations, real-time offers platform 202 can be accessed from IoTs210 by utilizing an applet, for example.

Chat service 212 may provide an automated interface in which a user mayselect from a group of pre-determined inputs in order to send feedbackto real-time offers application 208. The messages sent via chat service212 may be determined in real-time by real-time offers platform 202based on machine learning models 204. One example of a message sent viachat service 212 may include a prompt for a user to either accept orreject a real-time offer. In some embodiments, chat service 212 mayinclude an option to chat with an operator that can provide liveassistance to a user.

In some configurations, real-time offers platform 202 may include orotherwise communicate with an offer database interface 214 that canprovide access to read or write data to database 216. In some examples,database 216 can include data relating to policy management 218,loans/offers/rewards content management system (CMS) 220, analytics 222,and/or page learner 224. For instance, policy management 218 may includeone or more rules associated with offers that can be used by machinelearning models 204 to assist in formulating real-time offers. Forexample, policy management 218 may include a rule that a user that doesnot have a minimum bank account balance cannot qualify for an offer thatis greater than a particular monetary threshold regardless of other userattributes. In some examples, the real-time offers platform 202 can usemachine learning models 204 to generate rules that may be used todetermine whether users qualify for an offer. For instance, the machinelearning models 204 may use historical user data, as well ascorresponding offer determinations made by entities associated with thereal-time offers platform 202 (e.g., agents, loan officers, etc.), toidentify possible rules that may be implemented. As an illustrativeexample, if users having a bank account balance below a certain amounthave been frequently determined to not qualify for an offer, the machinelearning models 204 may determine that a rule may be implemented wherebyany user having a bank account balance below this certain amount doesnot qualify for an offer. Thus, the machine learning models 204 maycluster user characteristics and derive rules based on these clusters.CMS 220 can include data for managing content relating to real-timeoffers or rewards. For example, CMS 220 can include data relating tovendors associated with offers, offer categories (e.g. dining, travel,leisure, sport, music, etc.) or any other type of related content.Analytics 222 can include a dashboard and associated data relating toreal-time offers. Analytics 222 can be used by real-time offers platform202 to determine, obtain, or provide statistical data relating toreal-time offers and associated user attribute data. Page learner 224can be used by real-time offers platform to assist with application orwebpage interface configuration (e.g., capture and/or insert data to awebpage or a related user interface).

In some configurations, real-time offer platform 202 can also include,utilize, or otherwise communicate with one or more services 230.Services 230 can include web services as well as mobile commerceservices. For instance, services 230 can include credit account services232, push notification services 234, 3^(rd) party identity services 236,3^(rd) party bank account integration services 238, and securityservices 240 (e.g., know your customer (KYC), Liveness, and IDS). Insome examples, 3^(rd) party bank account integration services 238 can beused by real-time offers platform 202 to obtain real-time data relatingto a user's bank account. Real-time offers platform 202 can use thereal-time banking data from 3^(rd) party bank account integrationservices 238 as part of the dataset that is used to make a real-timedetermination of a user's eligibility for one or more real-time offers.Real-time offers platform 202 may access one or more of services 320based on user data 226 in order to derive real-time offers.

FIG. 3 illustrates an example of a flowchart of a real-time offerplatform 300, in accordance with some examples. Real-time offer platform300 can include an artificial intelligence module 302 that is configuredto implement one or more artificial intelligence or machine learningalgorithms. Artificial intelligence module 302 can implement itsalgorithms utilizing different data as inputs. For example, artificialintelligence module 302 can receive inputs corresponding to userattributes 304, other user data sets 306, and purchase attributes 308.As noted above, user attributes 304 can include age, location, loanhistory, bank account data, digital wallet data, user preferences, etc.User attributes 304 can be updated dynamically in or near real-time suchthat artificial intelligence module 302 can determine real-time offersbased on the most up-to-date user attributes 304. For example, if a usersubmits payment to a third-party loan, the payment information can beobtained in real-time either through a push mechanism in which the datais dynamically sent to real-time offer platform 300 or through a pullmechanism in which real-time offer platform requests the data from athird-party loan provider. In some implementations, real-time offerplatform 300 can be configured to query for new user data (e.g., viaservices 230) periodically. Additionally, real-time offer platform 300can be configured to query for new user data on demand when it isderiving a real-time offer for a particular user.

Artificial intelligence module 302 can also receive data correspondingto other user data sets 306. Other user data sets 306 can include datarelating to one or more of the user attributes 304 compiled for a groupof users, such as other users of the real-time offers platform.Additionally, the other user data sets 306 can include historical datarelating to one or more of the user attributes 304 compiled for usersthat have previously received offers from a credit provider associatedwith the real-time offers platform. Other user data sets 306 can beprocessed by artificial intelligence module 302 in order to derive datasets of similarly situated users that can be organized according to oneor more characteristics that can be used to correlate the other userdata sets 306 with a particular user. For instance, a portion of theother user data sets 306 may be organized according to user age and userbank account balance. Artificial intelligence module 302 may then obtainand evaluate other user data sets 306 based on one or more of the userattributes 304.

In some embodiments, other user data sets 306 can be used as trainingdata for artificial intelligence module 302. For example, other userdata sets 306 can include data relating to one or more offers that areassociated with one or more user attributes or sets of attributes forone or more users. Artificial intelligence module 302 can utilize theother user data sets 306 to perform machine learning and deriveadditional user attributes that can be associated with certain criteriapertaining to offers. For example, artificial intelligence module 302can determine that a male user within the age of 20-25 having an incomelevel greater than $40 k per year is more likely to accept an offer to asporting event than a similarly situated user having an income between$20-30 k per year.

The purchase attributes 308 can include data relating to monetaryamount, tickets to events, travel plans, product categories, merchants,information from a website's page that include price and transactionalcontent, or any other purchase attribute suitable for the intendedpurpose and understood by a person of ordinary skill in the art. In someexamples, purchase attributes 308 can be obtained by artificialintelligence module 302 based on a request for an offer that is receivedfrom a user. In other examples, purchase attributes 308 can be obtainedafter an offer has been extended to a user. For instance, artificialintelligence module 302 may derive an offer for travel to Californiabased on the user's research of tourist activities in San Francisco aswell as the user's spending habits. The offer may be presented toinclude flight information on a specific airline from the user's home inMiami to San Francisco for five days. In response, the user may requesta modification of the number of days, the airline, and/or the airports.If the requested changes are approved, real-time offer platform 300 canupdate one or more of purchase attributes 308, other user data sets 306,user attributes 304, and offer attributes 310, which can all be used byartificial intelligence module 302 for further learning in derivingreal-time offers.

In some examples, artificial intelligence module 302 can utilize all orpart of user attributes 304, other user data sets 306, and purchaseattributes 308 to determine a real-time offer having offer attributes310. Offer attributes 310 can include a credit limit or credit range, aninterest rate, a deposit amount, a term, a vendor or merchant,pre-defined rules/logic, and/or any other offer attribute suitable forthe intended purpose. For example, real-time offers platform 300 maydetect that a user is browsing for jewelry items online and has alsovisited a Pandora™ store in the mall (e.g., via location data obtainedby an application on a user device). Based on this activity andadditional user attributes (e.g., income and bank account balance),real-time offers platform 300 may use artificial intelligence module 302to derive an offer for a credit limit of $1,000 at 10% interest to bepaid in a 12-month period that can be used in a jewelry store. In someexamples, the set or range of offer attributes 310 may be provided asinputs to artificial intelligence module 302.

In some implementations, artificial intelligence module 302 may assignone or more scores to different user attributes and/or to offerattributes. The user attribute scores and the offer attribute scores canbe processed to determine whether a particular user qualifies for aparticular offer. For example, an interest rate of 0% for the first 12months may be offered only if a user has a minimum income score or aminimum bank account balance score, or some combination thereof. Infurther implementations, artificial intelligence module may determineone or more thresholds that are associated with one or more offerattributes. For example, a credit limit greater than $50K may require athreshold bank account balance of $100K.

Upon processing the various inputs, real-time offers platform 300 candetermine at decision 312 whether it is able to derive a real-time offerthat satisfies parameters based on the artificial intelligencealgorithm. If an offer cannot be derived by artificial intelligencemodule 302, an offer can be selected from predefined offers 314.Predefined offers 314 can include a decision matrix, look up table, orother suitable database that can be used to select an offer based oncertain criteria. For example, predefined offers 314 can includeexamples such as if a user X has a credit score between 500-600 andaccount balance of $5K, then an offer including a $500 credit limit at15% can be presented.

Once real-time offers platform 300 formulates an offer, either via AI orvia predefined offers 314, real-time offers platform 300 can implementpolicy management 316, which can include rules for ensuring offerscomply with a financial institute's policies. For example, a financialinstitution may implement policy management 316 including a rule that nooffers are to be made if a user's bank account balance is less than $500regardless of any other criteria. In this instance, a particular userhaving user attributes (e.g., high income, high credit score) that wouldotherwise qualify for an offer may be disqualified by policy management316. In other examples, the rules from policy management 316 can beprovided as inputs to artificial intelligence module 302 such thatartificial intelligence module 302 can automatically yield a “no offer”result if one or more rules apply.

Real-time offers platform 300 can present an offer to a user at 318. Theoffer presented to the user can include particular offer attributes 310such as 15% interest rate, $500 prepayment (i.e., deposit), and $150payments for 12 months (i.e., term). In some implementations, the offerpresented can include a dynamic range of parameters that permits theuser to customize the offer. For example, artificial intelligence module302 may derive various offers for a user which have different parametersthat are dependent on one another (e.g., higher prepayment can qualifyfor lower interest rate). For instance, an offer including a creditrange, an interest range, a prepayment range, and a term range can bepresented with the different parameters and associated ranges such thatthe user can dynamically change them to select the offer that best suitsthe user. Changes to offer attributes can be provided as feedback toartificial intelligence module 302 to perform additional reinforcementtraining that can assist in deriving offers for similarly situatedusers.

Upon presenting the offer, real-time offers platform 300 can detect userinput at 320 that indicates whether the offer was accepted or rejected.The user's decision to accept or reject an offer can be provided asfeedback to artificial intelligence module 302 in order to further trainthe model. For instance, if the user rejects the offer, variables can beadjusted to identify offers that are more likely to be accepted in thefuture. For example, if a user rejects an offer to purchase tickets to arock concert, that user's attributes can be added to the other user datasets to help predict another user's response. In some implementations,artificial intelligence module 302 may receive the rejection andformulate anew offer for the user. For example, the artificialintelligence module 302 may determine that the user is likely interestedin the rock concert tickets but did not agree because the terms were notfavorable, and may determine whether a better interest rate can beoffered in order to entice the user to accept the offer. Alternatively,if the user accepts the offer, such acceptance can provide further datareinforcing the model's decisions.

If a user accepts the offer, real-time offers platform may enable adigital card 322 that can facilitate a purchase by the user. In otherimplementations, a user acceptance can trigger alternative methods formaking the purchase such as mailing of a credit card to the user,mailing a gift card to the user, transferring funds to the user'sdigital wallet, etc. The digital card may include parameters that limitthe amount of credit, the merchant or location where it can be used, thetime for use, etc. In some instances, the digital card can include acredit limit that is a certain percentage above the loan amount toaccount for sales tax, transaction fees, or any other fees/costs thatmay be incurred by the user in the course of the purchase.

Once the digital card is activated, real-time offers platform 300 canmonitor to determine if purchase was made at 324. If the user does notutilize the digital card to make a purchase, that data can be providedto artificial intelligence module 302. In some examples, real-timeoffers platform may remind the user to utilize the digital card before acertain timeframe. In other examples, the digital card may expire due tonon-use, and a new real-time offer can be derived and presented to theuser.

Upon use of the digital card at 326, real-time offers platform 300 canrecalculate the final loan amount and loan parameters. For example, insome implementations the offer may provide for an upper credit limitthat the user is not required to use in its entirety. Once a purchase ismade, offer terms (e.g., amount, time, etc.) can be recalculated andpresented to the user. Data relating to the use of digital card can alsobe provided to artificial intelligence module 302 as training input. Forexample, the time it took for the user to utilize the card and thevendor where the card (if not restricted) can be provided as feedback toartificial intelligence module 302. Real-time offers platform 300 canutilize web services such as credit account services 232 to schedulepayments and provide a payment interface.

Real-time offers platform 300 provides further training data toartificial intelligence module 302 as the user makes payments 328associated with an offer. For example, on-time payments can beassociated with the user's other attributes and can be added to thesimilar user data sets 306. Similarly, missed or late payments can alsobe used to train artificial intelligence module 302, which can associatethe payment with the particular user attributes. Payments 328 can betracked for any given user throughout the life of an offer and used tofurther refine machine learning algorithms implemented by artificialintelligence module 302.

FIG. 4 illustrates an example of machine learning data flow 400, inaccordance with some examples. The machine learning data flow 400 can beimplemented by a real-time offers platform, such as platform 300illustrated in FIG. 3 . In some examples, machine learning data flow 400can include a gateway 402 having an engine 404 that can be configured toreceive data regarding user activity 410, models 416, and rules 422.Machine learning data flow can also include one or more processes 428such as export event process 430, export history process 432, andtraining process 434.

In some implementations, data relating to user activity 410 can bestored in event log 412 and in user history 414, which can beimplemented as a database, a server, or any other suitable device thatcan be configured to store data. For example, machine learning data flow400 can include a user interface 406 that can be implemented with a userapplication programming interface (API) 408. In some embodiments, userinterface 406 is implemented as part of an application that can beexecuted on a user device. Data can be provided via user interface 406that is received by gateway 402 and stored in event log 412. In oneexample, event log 412 can include data relating to a user's credit orbank transactions, browsing history, geolocation, spending habits,online transactions, etc. Event log 412 can be used to store datarelating to any user event that is relevant to determining a real-timeoffer for the user. The data stored in event log 412 can be parsed,translated, deconstructed, assembled, or otherwise processed by exportevent process 430 for storage in user history 414.

Machine learning data flow 400 can further include data relating tomodels 416, such as the machine learning models discussed in connectionwith previous figures. Data relating to models 416 can be stored indataset 418 and in prediction models 420. In some examples, the data inmodel dataset 418 can be populated by export history process 432.Dataset 418 can include user attribute data (e.g., user attributes 304),data relating to other users (e.g., other user data set 306), datarelating to purchases (e.g., purchase attributes 308), data relating tooffer attributes (e.g., offer attributes 310), data relating to policyrules (e.g., policy management 316), as well as any other input or datathat can be used to train a machine learning algorithm.

In some implementations, machine learning data flow 400 can includetraining process 434 that can implement one or more machine learningalgorithms on dataset 418 to formulate and train prediction models 420.Prediction models 420 can be used to derive real-time offers for usersbased on dataset 418. Prediction models 420 can be used to calculate oneor more probabilities relating to real-time offers, such as probabilityof offer acceptance, probability of offer rejection, probability ofmaking first payment, probability of compliance at half term,probability of compliance at full term, etc.

Machine learning data flow 400 can also include an administrator userinterface 436 that can be implemented using an admin API 438. In someexamples, the administrator user interface 436 can be used to configureor implement one or more rules 422. The data relating to rules 422 canbe stored in templates 424 and in policy 426. In some examples,templates 424 can include a table or matrix of predefined offers (e.g.,predefined offers 314) that can be implemented to assist artificialintelligence algorithms. In further examples, policy 426 can include oneor more rules (e.g., policy management 316) set forth by a particularcredit provider that can be used as a safeguard for offers generated byartificial intelligence module. In some implementations, data stored intemplates 424 and policy 426 can also be provided as an input to dataset418 and used to by training process 434 to further develop predictionmodels 420.

FIG. 5 illustrates an example of a diagram for a real-time offerplatform 500, in accordance with some examples. Real-time offer platform500 can include machine learning engine 502 which can be configured toreceive input relating to user attributes 506, offer attributes 508, andoffer history 510. In some examples, user attributes 506 can includename, age, location, bank account data (e.g., institutions, types,balance, transactions, etc.), education, employment, occupation, income,demographics, digital wallet(s), credit score, loan/credit history(e.g., open loans/credit, loans paid off, late payments, etc.), browsinghistory, spending patterns, user preferences, dislikes, etc.

In some examples, offer attributes 508 can include attributes associatedwith offer request 504. For example, a user may utilize a real-timeoffers application to request an offer to make a purchase on Amazon™.The offer request 504 may include offer attributes 508 such as an amountrequested, purchase information (e.g., goods, service, timeframe, etc.),merchant information, type of purchase, or any other attribute that canbe associated with an offer. In other examples, offer attributes 508 caninclude additional offer attributes that are not associated with offerrequest 504, such as offer attributes 310.

Machine learning engine 502 can also receive input from offer history510. Offer history 510 can include history related to individual usersas well as sets of data associated with other users. The sets of dataassociated with other users can be used by machine learning engine 502to derive sets of data for similarly situated users. In some examples,the data in offer history 510 can include data related to credit in use,loans requested, loans accepted, loans paid back, as well as any otherrelated user attribute.

Machine learning engine 502 can use the data from user attributes 506,offer attributes 508, and offer history 510 to develop a model that canyield one or more predictions 512 with respect to a user having one ormore user attributes as related to an offer having one or more offerattributes. For example, machine learning engine 502 can predict orcalculate a probability that the user will accept or decline an offer, aprobability that a user will make a first payment on time, a probabilitythat a user will be up to date with payments at half term, a probabilitythat a user will be up to date with payments at full term, or any otherprobability associated with a real-time offer.

Upon receiving the one or more predictions 512, real-time offer platform500 can select an offer at 514. The selection of an offer can be madeaccording to a policy that can include rules and/or predefined offersthat are set forth by a particular lender. The policy can includecriteria relating to user attributes as well as the probabilities orpredictions 512 that can be used to select an offer. In someimplementations, policy and/or rules can be provided as inputs tomachine learning engine 502 which can also make the offer selection 514by utilizing artificial intelligence techniques. Alternatively, or inaddition to the foregoing, the offer selected according to the policycan be provided as an input to machine learning engine 502.

A selected offer may be presented to a user (e.g., via a deviceapplication) and the user can provide a response 516 indicatingacceptance or rejection of the offer. The user's response can be used toupdate one or more data sets that are stored as part of offer history510. In doing so, machine learning engine 502 can enhance its algorithmby reinforcement (e.g., user accepts) or by further training (e.g.,deriving new offer with different variables). The feedback mechanism inreal-time offer platform 500 can be used to continuously enhance andupdate offer history 510 such that machine learning engine 502 canderive new data sets for similarly situated users in a dynamic manner.

FIG. 6 is a flow diagram illustrating an example of a process 600 forderiving real-time offers, in accordance with some examples. Atoperation 602, the process 600 includes determining eligibility for oneor more offers for a user based on a plurality of dynamic userattributes associated with the user and one or more data setscorresponding to similarly situated users. The plurality of dynamic userattributes can include attributes such as age, location, bank accountdata (e.g., institutions, types, balance, transactions, etc.),education, employment, occupation, income, demographics, digitalwallet(s), credit score, loan/credit history (e.g., open loans/credit,loans paid off, late payments, etc.), browsing history, spendingpatterns, user preferences, dislikes, etc.

In some implementations, the one or more data sets corresponding tosimilarly situated users can be derived from data associated with groupsof other users (e.g., historical user data compiled by a lender). Amachine learning algorithm can be used to identify the one or more datasets corresponding to similarly situated users from data sets of otherusers that can include users that are not similarly situated. Themachine learning algorithm can further be used to determine a user'seligibility for the one or more offers. In some implementations, themachine learning algorithm can determine one or more probabilitiesassociated with the offer (e.g., probability of acceptance, probabilityof repayment, etc.) and the determination of eligibility for an offercan be further based on the probabilities.

In one example, dynamic user attributes can be used to derive one ormore offers for a user that does not have any credit cards or credithistory. For instance, similarly situated users (e.g., no credit card orcredit history) can be identified that have successfully complied withprior offers in order to derive the terms for real-time offer for theuser.

At operation 604, the process 600 includes receiving an inputcorresponding to an acceptance by the user of at least one offerselected from the one or more offers. In some implementations, the inputcan be received from a user application that is executing on a userdevice. In other examples, an offer can be presented that has a rangeassociated with one or more offer attributes, and the input can furtherinclude the user's selection for the variables. In some examples, theinput may correspond to a user's rejection of the one or more offers,which may in turn trigger the process to derive a new offer for theuser.

At operation 606, the process 600 includes retrieving an updatedplurality of the dynamic user attributes associated with the user inresponse to receiving the input, wherein the dynamic user attributes areconstantly updated in real time based on user activity. The updatedplurality of the dynamic user attributes can be retrieved by utilizingone or more services 230 and/or by accessing one or more third-partiesthat are associated with the user by providing user credentials or byutilizing a federated environment. In some implementations, the processcan include a threshold timeframe for accepting and offer. Receiving aninput indicating acceptance after the threshold timeframe may triggerretrieval of the updated dynamic user attributes.

At operation 608, the process 600 includes determining, based on theupdated plurality of the dynamic user attributes and the one or moredata sets corresponding to the similarly situated users, whether theuser remains eligible for the at least one offer. For example, a usermay have made a large purchase after the offer was initially presentedthat caused the user's account balance to drop below a threshold that isrequired to qualify for the offer. In this instance, the updatedplurality of dynamic user attributes would reveal the change in theattributes that may result in disqualification for the offer. In someimplementations, if the user no longer qualifies for a prior offer, anew offer can be derived and presented based on the updated userattributes (e.g., by using machine learning algorithms).

At operation 610, the process 600 includes sending an offer confirmationin response to determining that the user remains eligible for the atleast one offer. An offer confirmation can include data and/orinstructions for the user to utilize the offer. For example, a link to adigital card, an update to user's digital wallet, confirmation of amailing of a physical credit card, etc.

FIGS. 7A-7C illustrate an example of registering a user account, inaccordance with some examples. Registration of the user account caninclude obtaining personal information of the user (e.g., name,birthdate, email address, and social security number), as illustrated insample screen capture 724. Registration of the user account can alsoinclude reading and accepting terms and conditions (704), obtaining aselfie picture to confirm identity at a current/future time (726),allowing phone capabilities, or any other information suitable for theintended purpose and understood by a person of ordinary skill in theart. Portions of the registration process can be automated or manuallyreceived from the user.

FIGS. 8A and 8B illustrate an example of adding a bank account, inaccordance with some examples. The real-time offer system provides auser the ability to add their bank account information to facilitatefuture transactions. Example financial institutions can be provided orbank information can be searched by key terms. Once a financialinstitute is selected, the user can provide their login credentials tolink their bank account with the real-time offer system so that the bankaccount is easily accessible for future transactions.

FIG. 9 illustrates an example of applying to the real-time offer systemof FIG. 1 , in accordance with some examples. The loan transactionsystem can initiate a transaction by providing recommendations ofpurchases or by allowing the user to provide the loan transaction systemwith particulars of an item to purchase. Terms and conditions can beprovided to the user so that the user is fully informed of anyobligation associated with a completed loan transaction. Confirmation ofacceptance of the terms and conditions can be performed by the user byproviding their social security number.

FIG. 10 illustrates an example of a real-time offer process, inaccordance with some examples. The real-time offer process can includeinquiring whether the future purchase of the item (for which the offerwill be used) will be in-person or online. If the purchase of the itemis in-person, the user can then be asked their location (potentiallocations such as venues can also be provided to the user by utilizingtheir geographic position). The user can then be asked how much theywant to borrow in order to purchase the item. Nicknames can be providedto associate the loan with a specific purchase. Once the particulars ofthe purchase have been provided, the real-time offer process can provideterms of the offer including a monthly amount and for how manymonths/years.

FIG. 11 illustrates an example of sharing information between a webbrowser and a real-time offers application, in accordance with someexamples. For example, as a user browses the internet, the user may wantto purchase a concert ticket. In this case, the website that includesthe particulars of the concert ticket (e.g., price, quantity, and date)can be ported over to the real-time offers application so that theabove-described real-time offer process can begin.

FIG. 12 illustrates another example of a real-time offer process, inaccordance with some examples. In some cases, after an initial offer isprovided to the user, the real-time offer system can provide the userwith additional options to revise the terms and conditions of the offer.For example, the additional options can include a lower monthly payment,a lower prepayment (i.e., deposit), a lower number of months to pay, orany other option suitable for the intended purpose and understood by aperson of ordinary skill in the art.

After an option for different terms is selected by the user, the usercan provide additional information of how they would like the terms tobe changed. For example, if the lower monthly payment option isselected, the user can input the amount of money they would like to payevery month. Thereafter, the offer system can provide revised terms thatcorrespond to the user input. In the example where the user selected amonthly amount of $250, (1208) the number of months of payment may beadjusted from 6 months to 12 months (see 1210). The process of providingthe user with options to adjust the terms of the offer can continueindefinitely until the user is satisfied with the terms of the loan.

FIG. 13 illustrates an example of an offer acknowledgement, inaccordance with some examples. The offer acknowledgement can include theparticulars of the offer to be confirmed by the user. Once the user issatisfied with the offer terms, the user can complete the transaction byselecting a method of payment for the offer. Thereafter, the real-timeoffer system can provide the user with a digital credit/debit card topurchase the item. The digital card allows the user to purchase the itemwithout having to provide their personal credit card information,thereby minimizing opportunities of identity theft.

FIG. 14 illustrates an example of a real-time offers application onlinecredit card (1402), in accordance with some examples. The real-timeoffers application online card can then be used to purchase the item(e.g., concert ticket) at the venue's website. The digital cardinformation can also be shared/ported from the offer application to thevenue's website to provide the user with a smooth and seamlesstransaction.

FIGS. 15A and 15B illustrate an example of an offer management process,in accordance with some examples. The real-time offer system can alsoprovide the user with the ability to view current offers, current loans,and past loans within the offer application. The offer management systemalso can provide the user with the ability to view future payments on aparticular offer and a summary of the offer including an interest rate,initial payment, monthly payments, finance charges, total payments,personal information, financial information, terms and conditions, orany other information suitable for the intended purpose and understoodby a person of ordinary skill in the art

FIG. 16 illustrates an example of an offer management process includinga failed payment, in accordance with some examples. As illustrated inscreen capture 1602, an application may alert the user of the failedpayment. Screenshots 1604 and 1605 illustrate the history of thepayments for the associated offer, in which a user may reattempt thefailed payment.

FIG. 17 illustrates an example of a payment process, in accordance withsome examples. In some cases, a payment may fail for any given reason.In this case, the offer system as described herein can begin areprocessing process where the user is notified of the failure andrequested to attempt repayment of the failed payment. The repayment canbe paid with the previously utilized bank account or a new bank account.

The process of utilizing a different method of payment (i.e., bankaccount) also can be utilized for regular payment of the monthly amount.For example, if a user has to close a credit card due to fraudulentactivity, the user can initiate the payment process as shown in 1704 and1705, in order to select another account to continue making the monthlypayments.

FIG. 18 illustrates an example of an account management process, inaccordance with some examples. The account management process caninclude providing messages to the user regarding the account andproviding menu items to adjust certain aspects of the account such asnotifications, locations services, and email preferences. Thenotifications can include loans, account changes, rewards, andrecommendations. The email preferences can include recommendations,account changes, and rewards.

FIG. 19 illustrates an example of events provided by the system of FIG.1 , in accordance with some examples. In some cases, the offer systemcan provide the user with suggestions or recommendations to events anditems to purchase. The suggestions can be based on the user's location(i.e., events within a close proximity of the user), pastattended/purchased events (e.g., concerts with similar genre), browserhistory, or any other information suitable for the intended purpose andunderstood by a person of ordinary skill in the art. Generating of thesuggestions can be similar to the generating of the real-time offers asdescribed herein, in that, past information and selections by the usercan be utilized to provide the user with relevant events and items thatthe user is actually interested in attending and purchasing.

FIG. 20 illustrates an example of rewards provided by the offertransaction system of FIG. 1 , in accordance with some examples. FIG. 21illustrates an example of returns and offer “cash” provided by the offertransaction system of FIG. 1 , in accordance with some examples. In somecases, the user can be rewarded for repayment of the offer/loan, forbrowsing through the suggestions of the offer system, for purchasing asuggested event/item, or any other action suitable for the intendedpurpose and understood by a person of ordinary skill in the art. Afterit is determined that a reward is to be provided to the user, the loansystem can provide an initial reward. Thereafter, reward options can beprovided to the user similar to how the user can be provided withdifferent options regarding loan payment amount, term, and interest.

FIG. 22 illustrates a computing system architecture 2200 includingvarious components in electrical communication with each other using aconnection 2205, such as a bus, in accordance with some implementations.Example system architecture 2200 includes a processing unit (CPU orprocessor) 2210 and a system connection 2205 that couples various systemcomponents including the system memory 2215, such as ROM 2220 and RAM2225, to the processor 2210. The system architecture 2200 can include acache 2212 of high-speed memory connected directly with, in closeproximity to, or integrated as part of the processor 2210. The systemarchitecture 2200 can copy data from the memory 2215 and/or the storagedevice 2230 to the cache 2212 for quick access by the processor 2210. Inthis way, the cache can provide a performance boost that avoidsprocessor 2210 delays while waiting for data. These and other modulescan control or be configured to control the processor 2210 to performvarious actions.

Other system memory 2215 may be available for use as well. The memory2215 can include multiple different types of memory with differentperformance characteristics. The processor 2210 can include any generalpurpose processor and a hardware or software service, such as service 12232, service 2 2234, and service 3 2236 stored in storage device 2230,configured to control the processor 2210 as well as a special-purposeprocessor where software instructions are incorporated into the actualprocessor design. The processor 2210 may be a completely self-containedcomputing system, containing multiple cores or processors, a bus, memorycontroller, cache, etc. A multi-core processor may be symmetric orasymmetric.

To enable user interaction with the computing system architecture 2200,an input device 2245 can represent any number of input mechanisms, suchas a microphone for speech, a touch-sensitive screen for gesture orgraphical input, keyboard, mouse, motion input, speech and so forth. Anoutput device 2235 can also be one or more of a number of outputmechanisms known to those of skill in the art. In some instances,multimodal systems can enable a user to provide multiple types of inputto communicate with the computing system architecture 2200. Thecommunications interface 2240 can generally govern and manage the userinput and system output. There is no restriction on operating on anyparticular hardware arrangement and therefore the basic features heremay easily be substituted for improved hardware or firmware arrangementsas they are developed.

Storage device 2230 is a non-volatile memory and can be a hard disk orother types of computer readable media which can store data that areaccessible by a computer, such as magnetic cassettes, flash memorycards, solid state memory devices, digital versatile disks, cartridges,RAMs 2225, ROM 2220, and hybrids thereof.

The storage device 2230 can include services 2232, 2234, 2236 forcontrolling the processor 2210. Other hardware or software modules arecontemplated. The storage device 2230 can be connected to the systemconnection 2205. In one aspect, a hardware module that performs aparticular function can include the software component stored in acomputer-readable medium in connection with the necessary hardwarecomponents, such as the processor 2210, connection 2205, output device2235, and so forth, to carry out the function.

The disclosed methods can be performed using a computing system. Anexample computing system can include a processor (e.g., a centralprocessing unit), memory, non-volatile memory, and an interface device.The memory may store data and/or and one or more code sets, software,scripts, etc. The components of the computer system can be coupledtogether via a bus or through some other known or convenient device. Theprocessor may be configured to carry out all or part of methodsdescribed herein for example by executing code for example stored inmemory. One or more of a user device or computer, a provider server orsystem, or a suspended database update system may include the componentsof the computing system or variations on such a system.

This disclosure contemplates the computer system taking any suitablephysical form, including, but not limited to a Point-of-Sale system(“POS”). As example and not by way of limitation, the computer systemmay be an embedded computer system, a system-on-chip (SOC), asingle-board computer system (SBC) (such as, for example, acomputer-on-module (COM) or system-on-module (SOM)), a desktop computersystem, a laptop or notebook computer system, an interactive kiosk, amainframe, a mesh of computer systems, a mobile telephone, a personaldigital assistant (PDA), a server, or a combination of two or more ofthese. Where appropriate, the computer system may include one or morecomputer systems; be unitary or distributed; span multiple locations;span multiple machines; and/or reside in a cloud, which may include oneor more cloud components in one or more networks. Where appropriate, oneor more computer systems may perform without substantial spatial ortemporal limitation one or more steps of one or more methods describedor illustrated herein. As an example and not by way of limitation, oneor more computer systems may perform in real time or in batch mode oneor more steps of one or more methods described or illustrated herein.One or more computer systems may perform at different times or atdifferent locations one or more steps of one or more methods describedor illustrated herein, where appropriate.

The processor may be, for example, be a conventional microprocessor suchas an Intel Pentium microprocessor or Motorola power PC microprocessor.One of skill in the relevant art will recognize that the terms“machine-readable (storage) medium” or “computer-readable (storage)medium” include any type of device that is accessible by the processor.

The memory can be coupled to the processor by, for example, a bus. Thememory can include, by way of example but not limitation, random accessmemory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM). Thememory can be local, remote, or distributed.

The bus can also couple the processor to the non-volatile memory anddrive unit. The non-volatile memory is often a magnetic floppy or harddisk, a magnetic-optical disk, an optical disk, a read-only memory(ROM), such as a CD-ROM, EPROM, or EEPROM, a magnetic or optical card,or another form of storage for large amounts of data. Some of this datais often written, by a direct memory access process, into memory duringexecution of software in the computer. The non-volatile storage can belocal, remote, or distributed. The non-volatile memory is optionalbecause systems can be created with all applicable data available inmemory. A typical computer system will usually include at least aprocessor, memory, and a device (e.g., a bus) coupling the memory to theprocessor.

Software can be stored in the non-volatile memory and/or the drive unit.Indeed, for large programs, it may not even be possible to store theentire program in the memory. Nevertheless, it should be understood thatfor software to run, if necessary, it is moved to a computer readablelocation appropriate for processing, and for illustrative purposes, thatlocation is referred to as the memory herein. Even when software ismoved to the memory for execution, the processor can make use ofhardware registers to store values associated with the software, andlocal cache that, ideally, serves to speed up execution. As used herein,a software program is assumed to be stored at any known or convenientlocation (from non-volatile storage to hardware registers), when thesoftware program is referred to as “implemented in a computer-readablemedium.” A processor is considered to be “configured to execute aprogram” when at least one value associated with the program is storedin a register readable by the processor.

The bus can also couple the processor to the network interface device.The interface can include one or more of a modem or network interface.It will be appreciated that a modem or network interface can beconsidered to be part of the computer system. The interface can includean analog modem, Integrated Services Digital network (ISDNO modem, cablemodem, token ring interface, satellite transmission interface (e.g.,“direct PC”), or other interfaces for coupling a computer system toother computer systems. The interface can include one or more inputand/or output (I/O) devices. The I/O devices can include, by way ofexample but not limitation, a keyboard, a mouse or other pointingdevice, disk drives, printers, a scanner, and other input and/or outputdevices, including a display device. The display device can include, byway of example but not limitation, a cathode ray tube (CRT), liquidcrystal display (LCD), or some other applicable known or convenientdisplay device.

In operation, the computer system can be controlled by operating systemsoftware that includes a file management system, such as a diskoperating system. One example of operating system software withassociated file management system software is the family of operatingsystems known as Windows® from Microsoft Corporation of Redmond, WA, andtheir associated file management systems. Another example of operatingsystem software with its associated file management system software isthe Linux™ operating system and its associated file management system.The file management system can be stored in the non-volatile memoryand/or drive unit and can cause the processor to execute the variousacts required by the operating system to input and output data and tostore data in the memory, including storing files on the non-volatilememory and/or drive unit.

Some portions of the detailed description may be presented in terms ofalgorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of operations leading to adesired result. The operations are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, transferred, combined, compared, and otherwisemanipulated. It has proven convenient at times, principally for reasonsof common usage, to refer to these signals as bits, values, elements,symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“determining” or “displaying” or “generating” or the like, refer to theaction and processes of a computer system, or similar electroniccomputing device, that manipulates and transforms data represented asphysical (electronic) quantities within registers and memories of thecomputer system into other data similarly represented as physicalquantities within the computer system memories or registers or othersuch information storage, transmission or display devices.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatus to perform the methods of some examples. The requiredstructure for a variety of these systems will appear from thedescription below. In addition, the techniques are not described withreference to any particular programming language, and various examplesmay thus be implemented using a variety of programming languages.

In various implementations, the system operates as a standalone deviceor may be connected (e.g., networked) to other systems. In a networkeddeployment, the system may operate in the capacity of a server or aclient system in a client-server network environment, or as a peersystem in a peer-to-peer (or distributed) network environment.

The system may be a server computer, a client computer, a personalcomputer (PC), a tablet PC, a laptop computer, a set-top box (STB), apersonal digital assistant (PDA), a cellular telephone, an iPhone, aBlackberry, a processor, a telephone, a web appliance, a network router,switch or bridge, or any system capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that system.

While the machine-readable medium or machine-readable storage medium isshown, by way of example, to be a single medium, the term“machine-readable medium” and “machine-readable storage medium” shouldbe taken to include a single medium or multiple media (e.g., acentralized or distributed database, and/or associated caches andservers) that store the one or more sets of instructions. The term“machine-readable medium” and “machine-readable storage medium” shallalso be taken to include any medium that is capable of storing,encoding, or carrying a set of instructions for execution by the systemand that cause the system to perform any one or more of themethodologies or modules of disclosed herein.

In general, the routines executed to implement the implementations ofthe disclosure, may be implemented as part of an operating system or aspecific application, component, program, object, module or sequence ofinstructions referred to as “computer programs.” The computer programstypically comprise one or more instructions set at various times invarious memory and storage devices in a computer, and that, when readand executed by one or more processing units or processors in acomputer, cause the computer to perform operations to execute elementsinvolving the various aspects of the disclosure.

Moreover, while examples have been described in the context of fullyfunctioning computers and computer systems, those skilled in the artwill appreciate that the various examples are capable of beingdistributed as a program object in a variety of forms, and that thedisclosure applies equally regardless of the particular type of machineor computer-readable media used to actually effect the distribution.

Further examples of machine-readable storage media, machine-readablemedia, or computer-readable (storage) media include but are not limitedto recordable type media such as volatile and non-volatile memorydevices, floppy and other removable disks, hard disk drives, opticaldisks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital VersatileDisks, (DVDs), etc.), among others, and transmission type media such asdigital and analog communication links.

In some circumstances, operation of a memory device, such as a change instate from a binary one to a binary zero or vice-versa, for example, maycomprise a transformation, such as a physical transformation. Withparticular types of memory devices, such a physical transformation maycomprise a physical transformation of an article to a different state orthing. For example, but without limitation, for some types of memorydevices, a change in state may involve an accumulation and storage ofcharge or a release of stored charge. Likewise, in other memory devices,a change of state may comprise a physical change or transformation inmagnetic orientation or a physical change or transformation in molecularstructure, such as from crystalline to amorphous or vice versa. Theforegoing is not intended to be an exhaustive list of all examples inwhich a change in state for a binary one to a binary zero or vice-versain a memory device may comprise a transformation, such as a physicaltransformation. Rather, the foregoing is intended as illustrativeexamples.

A storage medium typically may be non-transitory or comprise anon-transitory device. In this context, a non-transitory storage mediummay include a device that is tangible, meaning that the device has aconcrete physical form, although the device may change its physicalstate. Thus, for example, non-transitory refers to a device remainingtangible despite this change in state.

The above description and drawings are illustrative and are not to beconstrued as limiting the subject matter to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure. Numerous specific details are described to provide athorough understanding of the disclosure. However, in certain instances,well-known or conventional details are not described in order to avoidobscuring the description.

As used herein, the terms “connected,” “coupled,” or any variant thereofwhen applying to modules of a system, means any connection or coupling,either direct or indirect, between two or more elements; the coupling ofconnection between the elements can be physical, logical, or anycombination thereof. Additionally, the words “herein,” “above,” “below,”and words of similar import, when used in this application, shall referto this application as a whole and not to any particular portions ofthis application. Where the context permits, words in the above DetailedDescription using the singular or plural number may also include theplural or singular number respectively. The word “or,” in reference to alist of two or more items, covers all of the following interpretationsof the word: any of the items in the list, all of the items in the list,or any combination of the items in the list.

Those of skill in the art will appreciate that the disclosed subjectmatter may be embodied in other forms and manners not shown below. It isunderstood that the use of relational terms, if any, such as first,second, top and bottom, and the like are used solely for distinguishingone entity or action from another, without necessarily requiring orimplying any such actual relationship or order between such entities oractions.

While processes or blocks are presented in a given order, alternativeimplementations may perform routines having steps, or employ systemshaving blocks, in a different order, and some processes or blocks may bedeleted, moved, added, subdivided, substituted, combined, and/ormodified to provide alternative or sub combinations. Each of theseprocesses or blocks may be implemented in a variety of different ways.Also, while processes or blocks are at times shown as being performed inseries, these processes or blocks may instead be performed in parallel,or may be performed at different times. Further any specific numbersnoted herein are only examples: alternative implementations may employdiffering values or ranges.

The teachings of the disclosure provided herein can be applied to othersystems, not necessarily the system described above. The elements andacts of the various examples described above can be combined to providefurther examples.

Any patents and applications and other references noted above, includingany that may be listed in accompanying filing papers, are incorporatedherein by reference. Aspects of the disclosure can be modified, ifnecessary, to employ the systems, functions, and concepts of the variousreferences described above to provide yet further examples of thedisclosure.

These and other changes can be made to the disclosure in light of theabove Detailed Description. While the above description describescertain examples, and describes the best mode contemplated, no matterhow detailed the above appears in text, the teachings can be practicedin many ways. Details of the system may vary considerably in itsimplementation details, while still being encompassed by the subjectmatter disclosed herein. As noted above, particular terminology usedwhen describing certain features or aspects of the disclosure should notbe taken to imply that the terminology is being redefined herein to berestricted to any specific characteristics, features, or aspects of thedisclosure with which that terminology is associated. In general, theterms used in the following claims should not be construed to limit thedisclosure to the specific implementations disclosed in thespecification, unless the above Detailed Description section explicitlydefines such terms. Accordingly, the actual scope of the disclosureencompasses not only the disclosed implementations, but also allequivalent ways of practicing or implementing the disclosure under theclaims.

While certain aspects of the disclosure are presented below in certainclaim forms, the inventors contemplate the various aspects of thedisclosure in any number of claim forms. Any claims intended to betreated under 35 U.S.C. § 112(f) will begin with the words “means for”.Accordingly, the applicant reserves the right to add additional claimsafter filing the application to pursue such additional claim forms forother aspects of the disclosure.

The terms used in this specification generally have their ordinarymeanings in the art, within the context of the disclosure, and in thespecific context where each term is used. Certain terms that are used todescribe the disclosure are discussed above, or elsewhere in thespecification, to provide additional guidance to the practitionerregarding the description of the disclosure. For convenience, certainterms may be highlighted, for example using capitalization, italics,and/or quotation marks. The use of highlighting has no influence on thescope and meaning of a term; the scope and meaning of a term is thesame, in the same context, whether or not it is highlighted. It will beappreciated that same element can be described in more than one way.

Consequently, alternative language and synonyms may be used for any oneor more of the terms discussed herein, nor is any special significanceto be placed upon whether or not a term is elaborated or discussedherein. Synonyms for certain terms are provided. A recital of one ormore synonyms does not exclude the use of other synonyms. The use ofexamples anywhere in this specification including examples of any termsdiscussed herein is illustrative only, and is not intended to furtherlimit the scope and meaning of the disclosure or of any exemplifiedterm. Likewise, the disclosure is not limited to various examples givenin this specification.

Without intent to further limit the scope of the disclosure, examples ofinstruments, apparatus, methods and their related results according tothe examples of the present disclosure are given below. Note that titlesor subtitles may be used in the examples for convenience of a reader,which in no way should limit the scope of the disclosure. Unlessotherwise defined, all technical and scientific terms used herein havethe same meaning as commonly understood by one of ordinary skill in theart to which this disclosure pertains. In the case of conflict, thepresent document, including definitions will control.

Some portions of this description describe examples in terms ofalgorithms and symbolic representations of operations on information.These algorithmic descriptions and representations are commonly used bythose skilled in the data processing arts to convey the substance oftheir work effectively to others skilled in the art. These operations,while described functionally, computationally, or logically, areunderstood to be implemented by computer programs or equivalentelectrical circuits, microcode, or the like. Furthermore, it has alsoproven convenient at times, to refer to these arrangements of operationsas modules, without loss of generality. The described operations andtheir associated modules may be embodied in software, firmware,hardware, or any combinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In some examples, a softwaremodule is implemented with a computer program object comprising acomputer-readable medium containing computer program code, which can beexecuted by a computer processor for performing any or all of the steps,operations, or processes described.

Examples may also relate to an apparatus for performing the operationsherein. This apparatus may be specially constructed for the requiredpurposes, and/or it may comprise a general-purpose computing deviceselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a non-transitory,tangible computer readable storage medium, or any type of media suitablefor storing electronic instructions, which may be coupled to a computersystem bus. Furthermore, any computing systems referred to in thespecification may include a single processor or may be architecturesemploying multiple processor designs for increased computing capability.

Examples may also relate to an object that is produced by a computingprocess described herein. Such an object may comprise informationresulting from a computing process, where the information is stored on anon-transitory, tangible computer readable storage medium and mayinclude any implementation of a computer program object or other datacombination described herein.

The language used in the specification has been principally selected forreadability and instructional purposes, and it may not have beenselected to delineate or circumscribe the subject matter. It istherefore intended that the scope of this disclosure be limited not bythis detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the examples isintended to be illustrative, but not limiting, of the scope of thesubject matter, which is set forth in the following claims.

Specific details were given in the preceding description to provide athorough understanding of various implementations of systems andcomponents for a contextual connection system. It will be understood byone of ordinary skill in the art, however, that the implementationsdescribed above may be practiced without these specific details. Forexample, circuits, systems, networks, processes, and other componentsmay be shown as components in block diagram form in order not to obscurethe embodiments in unnecessary detail. In other instances, well-knowncircuits, processes, algorithms, structures, and techniques may be shownwithout unnecessary detail in order to avoid obscuring the embodiments.

It is also noted that individual implementations may be described as aprocess which is depicted as a flowchart, a flow diagram, a data flowdiagram, a structure diagram, or a block diagram. Although a flowchartmay describe the operations as a sequential process, many of theoperations can be performed in parallel or concurrently. In addition,the order of the operations may be re-arranged. A process is terminatedwhen its operations are completed, but could have additional steps notincluded in a figure. A process may correspond to a method, a function,a procedure, a subroutine, a subprogram, etc. When a process correspondsto a function, its termination can correspond to a return of thefunction to the calling function or the main function.

Client devices, network devices, and other devices can be computingsystems that include one or more integrated circuits, input devices,output devices, data storage devices, and/or network interfaces, amongother things. The integrated circuits can include, for example, one ormore processors, volatile memory, and/or non-volatile memory, amongother things. The input devices can include, for example, a keyboard, amouse, a key pad, a touch interface, a microphone, a camera, and/orother types of input devices. The output devices can include, forexample, a display screen, a speaker, a haptic feedback system, aprinter, and/or other types of output devices. A data storage device,such as a hard drive or flash memory, can enable the computing device totemporarily or permanently store data. A network interface, such as awireless or wired interface, can enable the computing device tocommunicate with a network. Examples of computing devices includedesktop computers, laptop computers, server computers, hand-heldcomputers, tablets, smart phones, personal digital assistants, digitalhome assistants, as well as machines and apparatuses in which acomputing device has been incorporated.

The term “computer-readable medium” includes, but is not limited to,portable or non-portable storage devices, optical storage devices, andvarious other mediums capable of storing, containing, or carryinginstruction(s) and/or data. A computer-readable medium may include anon-transitory medium in which data can be stored and that does notinclude carrier waves and/or transitory electronic signals propagatingwirelessly or over wired connections. Examples of a non-transitorymedium may include, but are not limited to, a magnetic disk or tape,optical storage media such as compact disk (CD) or digital versatiledisk (DVD), flash memory, memory or memory devices. A computer-readablemedium may have stored thereon code and/or machine-executableinstructions that may represent a procedure, a function, a subprogram, aprogram, a routine, a subroutine, a module, a software package, a class,or any combination of instructions, data structures, or programstatements. A code segment may be coupled to another code segment or ahardware circuit by passing and/or receiving information, data,arguments, parameters, or memory contents. Information, arguments,parameters, data, etc. may be passed, forwarded, or transmitted via anysuitable means including memory sharing, message passing, token passing,network transmission, or the like.

The various examples discussed above may further be implemented byhardware, software, firmware, middleware, microcode, hardwaredescription languages, or any combination thereof. When implemented insoftware, firmware, middleware or microcode, the program code or codesegments to perform the necessary tasks (e.g., a computer-programproduct) may be stored in a computer-readable or machine-readablestorage medium (e.g., a medium for storing program code or codesegments). A processor(s), implemented in an integrated circuit, mayperform the necessary tasks.

Where components are described as being “configured to” perform certainoperations, such configuration can be accomplished, for example, bydesigning electronic circuits or other hardware to perform theoperation, by programming programmable electronic circuits (e.g.,microprocessors, or other suitable electronic circuits) to perform theoperation, or any combination thereof.

The various illustrative logical blocks, modules, circuits, andalgorithm steps described in connection with the implementationsdisclosed herein may be implemented as electronic hardware, computersoftware, firmware, or combinations thereof. To clearly illustrate thisinterchangeability of hardware and software, various illustrativecomponents, blocks, modules, circuits, and steps have been describedabove generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present disclosure.

The techniques described herein may also be implemented in electronichardware, computer software, firmware, or any combination thereof. Suchtechniques may be implemented in any of a variety of devices such asgeneral purposes computers, wireless communication device handsets, orintegrated circuit devices having multiple uses including application inwireless communication device handsets and other devices. Any featuresdescribed as modules or components may be implemented together in anintegrated logic device or separately as discrete but interoperablelogic devices. If implemented in software, the techniques may berealized at least in part by a computer-readable data storage mediumcomprising program code including instructions that, when executed,performs one or more of the methods described above. Thecomputer-readable data storage medium may form part of a computerprogram product, which may include packaging materials. Thecomputer-readable medium may comprise memory or data storage media, suchas random access memory (RAM) such as synchronous dynamic random accessmemory (SDRAM), read-only memory (ROM), non-volatile random accessmemory (NVRAM), electrically erasable programmable read-only memory(EEPROM), FLASH memory, magnetic or optical data storage media, and thelike. The techniques additionally, or alternatively, may be realized atleast in part by a computer-readable communication medium that carriesor communicates program code in the form of instructions or datastructures and that can be accessed, read, and/or executed by acomputer, such as propagated signals or waves.

The program code may be executed by a processor, which may include oneor more processors, such as one or more digital signal processors(DSPs), general purpose microprocessors, an application specificintegrated circuits (ASICs), field programmable logic arrays (FPGAs), orother equivalent integrated or discrete logic circuitry. Such aprocessor may be configured to perform any of the techniques describedin this disclosure. A general purpose processor may be a microprocessor;but in the alternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration. Accordingly, the term “processor,” as used herein mayrefer to any of the foregoing structure, any combination of theforegoing structure, or any other structure or apparatus suitable forimplementation of the techniques described herein. In addition, in someaspects, the functionality described herein may be provided withindedicated software modules or hardware modules configured forimplementing a suspended database update system.

The foregoing detailed description of the technology has been presentedfor purposes of illustration and description. It is not intended to beexhaustive or to limit the technology to the precise form disclosed.Many modifications and variations are possible in light of the aboveteaching. The described embodiments were chosen in order to best explainthe principles of the technology, its practical application, and toenable others skilled in the art to utilize the technology in variousembodiments and with various modifications as are suited to theparticular use contemplated. It is intended that the scope of thetechnology be defined by the claim.

1. (canceled)
 2. A computer-implemented method comprising: receiving inreal-time a set of dynamic user attributes associated with a user,wherein the set of dynamic user attributes is continuously updated inreal-time based on user activity; dynamically training a machinelearning model to generate real-time offers, wherein the machinelearning model is dynamically trained using a data set of sample userattributes associated with a set of sample users and sample real-timeoffers corresponding to the set of sample users; repeatedly generatingin real-time new offers for the user, wherein the new offers aregenerated by the machine learning model as the set of dynamic userattributes are continuously updated in real-time; providing the newoffers as the new offers are repeatedly generated by the machinelearning model, wherein when the new offers are received by a userdevice associated with the user, the user device presents the newoffers; and modifying the machine learning model in real-time, whereinthe machine learning model is modified based on the new offers and theset of dynamic user attributes as the set of dynamic user attributes arecontinuously updated.
 3. The computer-implemented method of claim 2,further comprising: receiving an input corresponding to acceptance of anoffer from the new offers; and providing an offer confirmation, whereinthe offer confirmation is provided as a result of the user remainingqualified for the offer based on the set of dynamic user attributes. 4.The computer-implemented method of claim 2, further comprising:determining that the user is disqualified from one or more offers fromthe new offers, wherein the user is disqualified from the one or moreoffers as the set of dynamic user attributes are continuously updated;and removing the one or more offers.
 5. The computer-implemented methodof claim 2, wherein the set of dynamic user attributes are received inresponse to an input indicating rejection of an initial offer.
 6. Thecomputer-implemented method of claim 2, further comprising: calculatingone or more probabilities associated with the new offers, wherein theone or more probabilities correspond to a determination of eligibilityfor the new offers, and wherein the new offers are provided based on thedetermination.
 7. The computer-implemented method of claim 2, whereinthe new offers include a temporal threshold, and wherein the temporalthreshold corresponds to a pre-determined period of time after which thenew offers are expired.
 8. The computer-implemented method of claim 2,wherein the set of dynamic user attributes includes at least one of acredit score, credit history, spending patterns, and user preferences.9. A system, comprising: one or more processors; and memory storingthereon instructions that, as a result of being executed by the one ormore processors, cause the system to: receive in real-time a set ofdynamic user attributes associated with a user, wherein the set ofdynamic user attributes is continuously updated in real-time based onuser activity; dynamically train a machine learning model to generatereal-time offers, wherein the machine learning model is dynamicallytrained using a data set of sample user attributes associated with a setof sample users and sample real-time offers corresponding to the set ofsample users; repeatedly generate in real-time new offers for the user,wherein the new offers are generated by the machine learning model asthe set of dynamic user attributes are continuously updated inreal-time; provide the new offers as the new offers are repeatedlygenerated by the machine learning model, wherein when the new offers arereceived by a user device associated with the user, the user devicepresents the new offers; and modify the machine learning model inreal-time, wherein the machine learning model is modified based on thenew offers and the set of dynamic user attributes as the set of dynamicuser attributes are continuously updated.
 10. The system of claim 9,wherein the instructions further cause the system to: receive an inputcorresponding to acceptance of an offer from the new offers; and providean offer confirmation, wherein the offer confirmation is provided as aresult of the user remaining qualified for the offer based on the set ofdynamic user attributes.
 11. The system of claim 9, wherein theinstructions further cause the system to: determine that the user isdisqualified from one or more offers from the new offers, wherein theuser is disqualified from the one or more offers as the set of dynamicuser attributes are continuously updated; and remove the one or moreoffers.
 12. The system of claim 9, wherein the set of dynamic userattributes are received in response to an input indicating rejection ofan initial offer.
 13. The system of claim 9, wherein the instructionsfurther cause the system to: calculate one or more probabilitiesassociated with the new offers, wherein the one or more probabilitiescorrespond to a determination of eligibility for the new offers, andwherein the new offers are provided based on the determination.
 14. Thesystem of claim 9, wherein the new offers include a temporal threshold,and wherein the temporal threshold corresponds to a pre-determinedperiod of time after which the new offers are expired.
 15. The system ofclaim 9, wherein the set of dynamic user attributes includes at leastone of a credit score, credit history, spending patterns, and userpreferences.
 16. A non-transitory, computer-readable storage mediumstoring thereon executable instructions that, as a result of beingexecuted by one or more processors of a computer system, cause thecomputer system to: receive in real-time a set of dynamic userattributes associated with a user, wherein the set of dynamic userattributes is continuously updated in real-time based on user activity;dynamically train a machine learning model to generate real-time offers,wherein the machine learning model is dynamically trained using a dataset of sample user attributes associated with a set of sample users andsample real-time offers corresponding to the set of sample users;repeatedly generate in real-time new offers for the user, wherein thenew offers are generated by the machine learning model as the set ofdynamic user attributes are continuously updated in real-time; providethe new offers as the new offers are repeatedly generated by the machinelearning model, wherein when the new offers are received by a userdevice associated with the user, the user device presents the newoffers; and modify the machine learning model in real-time, wherein themachine learning model is modified based on the new offers and the setof dynamic user attributes as the set of dynamic user attributes arecontinuously updated.
 17. The non-transitory, computer-readable storagemedium of claim 16, wherein the executable instructions further causethe computer system to: receive an input corresponding to acceptance ofan offer from the new offers; and provide an offer confirmation, whereinthe offer confirmation is provided as a result of the user remainingqualified for the offer based on the set of dynamic user attributes. 18.The non-transitory, computer-readable storage medium of claim 16,wherein the executable instructions further cause the computer systemto: determine that the user is disqualified from one or more offers fromthe new offers, wherein the user is disqualified from the one or moreoffers as the set of dynamic user attributes are continuously updated;and remove the one or more offers.
 19. The non-transitory,computer-readable storage medium of claim 16, wherein the set of dynamicuser attributes are received in response to an input indicatingrejection of an initial offer.
 20. The non-transitory, computer-readablestorage medium of claim 16, wherein the executable instructions furthercause the computer system to: calculate one or more probabilitiesassociated with the new offers, wherein the one or more probabilitiescorrespond to a determination of eligibility for the new offers, andwherein the new offers are provided based on the determination.
 21. Thenon-transitory, computer-readable storage medium of claim 16, whereinthe new offers include a temporal threshold, and wherein the temporalthreshold corresponds to a pre-determined period of time after which thenew offers are expired.
 22. The non-transitory, computer-readablestorage medium of claim 16, wherein the set of dynamic user attributesincludes at least one of a credit score, credit history, spendingpatterns, and user preferences.